IBIS Macromodel Task Group Meeting date: 23 May 2017 Members (asterisk for those attending): ANSYS: * Dan Dvorscak * Curtis Clark Broadcom (Avago): Xingdong Dai * Bob Miller Cadence Design Systems: * Ambrish Varma Brad Brim Kumar Keshavan Ken Willis eASIC: David Banas Marc Kowalski Ericsson: Anders Ekholm GlobalFoundries: Steve Parker IBM Luis Armenta Trevor Timpane Intel: * Michael Mirmak Keysight Technologies: * Fangyi Rao * Radek Biernacki Ming Yan Maxim Integrated Products: Hassan Rafat Mentor, A Siemens Business: John Angulo * Arpad Muranyi Micron Technology: * Randy Wolff Justin Butterfield SiSoft: * Walter Katz Todd Westerhoff Mike LaBonte Synopsys: Rita Horner Kevin Li Teraspeed Consulting Group: Scott McMorrow Teraspeed Labs: * Bob Ross TI: Alfred Chong The meeting was led by Arpad Muranyi. -------------------------------------------------------------------------------- Opens: - None. ------------- Review of ARs: - None. -------------------------- Call for patent disclosure: - None. ------------------------- Review of Meeting Minutes: - Arpad: Does anyone have any comments or corrections? [none] - Ambrish: Motion to approve the minutes. - Walter: Second. - Arpad: Anyone opposed? [none] ------------- New Discussion: BIRD 166.3 Redriver Flow: - Arpad: Walter has a few slides to share. Let's try to come to some resolution on BIRD 166 today. - Walter: [sharing his "BIRD 166 Now, and the Effect on the Keysight Proposal with AMI_Init Impulse Response Outputs" presentation] - [slide 2] - Defines basic topology in question. - [slide 3] Rx1 has GetWave, Tx2 and Rx2 are both Init-only - Slide from Fangyi's "Problem_in_BIRD166_Flow" presentation. - [slide 4] The problem that Fangyi Contemplates - Fangyi is right. If you do what my BIRD says, and the output of Rx2 Init() contains all of the upstream channel effects, then if you try to use the output of Rx1 GetWave() and a downstream channel IR (only containing Tx2, ch2, Rx2) extracted via deconvolution, then you run into problems. - I don't interpret the current 6.1 flow as saying to do what Fangyi described. - [slides 5, 6, 7] Walter's proposed interpretation of the IBIS 6.1 redriver time domain flow. - Step 8a. in the Redriver time domain flow says, " The EDA tool uses the signal waveform at the output end of Rx1's algorithmic model ... as the stimulus of Tx2's algorithmic model ... and performs simulation on the downstream channel ... according to the AMI flow defined ... for channels without redrivers." - Step 6c. in the section for channels without redrivers says, "If Tx GetWave_Exists is false and Rx GetWave_Exists is false, the output of step 4 (digital stimulus) is convolved with the output of step 3 (output of Rx Init()) by the EDA tool..." - Discussion: Walter's proposed interpretation of the interaction between 8a. and 6c. was as follows. Since the case Fangyi had described had Tx2 and Rx2 as Init Only, when 8a. referred back to the flow for channels without redrivers 6c was invoked because the downstream channel was Init Only. He said this then lead to the assumption that the initial digital stimulus for the channel should simply be convolved with the output of Rx2 Init(). Walter noted that this interpretation would mean that all GetWave() functions were ignored if any model in the chain did not have GetWave(). He noted that there is no precise way to use the GetWave() functionality of Tx1 and Rx1 if Tx2 and Rx2 are Init Only and one wants to present Rx2's Init() with all of the upstream effects. Fangyi/Ambrish/Radek rejected this interpretation. Fangyi said this interpretation took 8a. out of context. The intent had always been that the output waveform from Rx1 took the place of a "digital stimulus" to Tx2 for the "channels without redrivers" processing of the downstream channel. Radek said Walter's interpretation was a bit of a stretch, because in the IBIS 6.1 flow, the output of Rx2 Init() did not contain any of the upstream channel's effects (so simply convolving the original digital stimulus with the output of Rx2 Init() would ignore the upstream channel altogether). Arpad suggested that if the spec were not clear, and subject to different interpretations, that perhaps we should start with a BIRD to clarify the current descriptions. Then we could move on to advancing the flows. Ambrish and Fangyi rejected this idea and said that the current specification was clear. Arpad said he could see it both ways. If the Tx1 and Rx1 also had Init_Returns_Impulse true, then he could see Walter's interpretation to avoid double counting. But if Tx1 and Rx1 were GetWave Only, then he could see Fangyi/Radek/Ambrish's interpretation. Fangyi said the current 6.1 flow never suffered from double counting, because the output of Rx2 only contained downstream channel information. Arpad countered by asking if we were trying to solve the issue with the Bob Miller type models that relied on getting the proper IR to their Init() (for Rx2 in this case). Bob Miller said that he would prefer we not consider his models as a reason for making any flow changes. Ambrish reiterated that he didn't want to retrofit the spec in order to accommodate Bob's type of model. Ambrish noted the caveat in the time domain reference flow (page 178, IBIS 6.1): The Rx executable model file writer should keep in mind that it is not guaranteed that the impulse response that is presented to the Rx AMI_Init function will always include the effects of the Tx filter... Ambrish suggested Bob's models that optimized in Init() and then applied this optimization in GetWave() did not heed this warning. Bob agreed that the caveat applied to his models, but noted that the only real effect was that his models would not be compatible with any upstream model that did not return an IR from Init(). Bob suggested that instead of merely noting this in his documentation, it might be better to have a new reserved parameter so that the model could tell the EDA tool about its requirement. The EDA tool could then determine when models were incompatible. - Walter: I think there's fundamental disagreement so we will probably end up tabling BIRD 166 and not discussing it in the Open Forum. - EDA tools may simply have to document their own flows. - I think this was still a very useful discussion to have. - Arpad: Thank you all for joining. ------------- Next meeting: 30 May 2017 12:00pm PT ------------- IBIS Interconnect SPICE Wish List: 1) Simulator directives